home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 2207 / 2207.xpi / chrome / cooliris.jar / content / cooliris / coolirisSiteManager.js < prev    next >
Text File  |  2010-01-28  |  4KB  |  174 lines

  1. if(typeof cpvw_siteManager=="undefined"){
  2. var cpvw_siteManager={arrSiteList:null,siteDom:null,xmlSiteFile:"CoolirisPreviewSites.xml",isCustomSite:function(_1){
  3. var _2=[false,""];
  4. _2=this.isIncludedSite(_1);
  5. return _2;
  6. },isIncludedSite:function(_3){
  7. var _4=[false,""];
  8. if(this.siteDom==null){
  9. this.loadSites();
  10. }
  11. if(this.siteDom!=null){
  12. try{
  13. var _5=Components.classes["@mozilla.org/network/standard-url;1"].createInstance(Components.interfaces.nsIURI);
  14. _5.spec=_3;
  15. }
  16. catch(ex){
  17. return [false,""];
  18. }
  19. var _6;
  20. var _7;
  21. if(_5.host!=null){
  22. _7=escape(_5.host);
  23. _6=this.getResultFromXPath("//SITE-URL[@DOMAIN='"+_7+"']",this.siteDom);
  24. }
  25. if(_6!=null){
  26. if(_6.snapshotLength==1){
  27. if(_6.snapshotItem(0).getAttribute("ENABLED")=="yes"){
  28. _4=[true,this.isPreferredSite(_3)];
  29. }else{
  30. _4=[false,""];
  31. }
  32. }else{
  33. if(_6.snapshotLength==0){
  34. var _8=cpvw_prefHandler.getPref(cpvw_Prefs.prefPreviewDefaultEnable);
  35. if(_8=="yes"){
  36. _4=[true,this.isPreferredSite(_3)];
  37. }else{
  38. _4=[false,""];
  39. }
  40. }
  41. }
  42. }
  43. }
  44. return _4;
  45. },isPreferredSite:function(_9){
  46. conDump("is prefererfd fdf site "+_9+", "+_9.match(/^http:\/\/\w{3}.google.[a-z.]+\/#/i));
  47. if(_9.match(/^http:\/\/\w{3}.google.[a-z.]+\/webhp/i)||_9.match(/^http:\/\/\w{3}.google.[a-z.]+\/search/i)||_9.match(/^http:\/\/\w{3}.google.[a-z.]+\/custom/i)||_9.match(/^http:\/\/\w{3}.google.[a-z.]+\/#/i)){
  48. return "google_search";
  49. }
  50. if(_9.match(/^http:\/\/[a-z.]+ebay.[a-z.]+/i)){
  51. return "ebay";
  52. }
  53. if(_9.match(/^http:\/\/w{3}.tagworld.[a-z.]+/i)){
  54. return "tagworld";
  55. }
  56. if(_9.match(/^http:\/\/[a-z.]+craigslist.[a-z.]+/i)){
  57. return "craigslist";
  58. }
  59. if(_9.match(/^http:\/\/[a-z.]+myspace.[a-z.]+/i)){
  60. return "myspace";
  61. }
  62. if(_9.match(/^http:\/\/[a-z.]+cooliris.[a-z.]+/i)){
  63. return "cooliris";
  64. }
  65. if(_9.match(/^http:\/\/[a-z.]+rediff.[a-z.]+/i)){
  66. return "rediff";
  67. }
  68. if(_9.match(/^http:\/\/video.google.[a-z.]+/i)){
  69. return "google_video";
  70. }
  71. if(_9.match(/^http:\/\/w{3}.gravee.[a-z.]+\/search/i)){
  72. return "gravee";
  73. }
  74. if(_9.match(/^http:\/\/w{3}.technorati.[a-z.]+\/search/i)){
  75. return "technorati";
  76. }
  77. if(_9.match(/^http:\/\/news.google.[a-z.]+\//i)){
  78. return "google_news";
  79. }
  80. if(_9.match(/^http:\/\/scholar.google.[a-z.]+\/scholar/i)){
  81. return "google_scholar";
  82. }
  83. if(_9.match(/^http:\/\/del.icio.us/i)){
  84. return "delicious";
  85. }
  86. if(_9.match(/^http:\/\/search.yahoo.[a-z.]+\/search/i)){
  87. return "yahoo_search";
  88. }
  89. if(_9.match(/^http:\/\/www.newsvine.[a-z.]+/i)){
  90. return "newsvine";
  91. }
  92. if(_9.match(/^http:\/\/www.youtube.[a-z.]+/i)||_9.match(/^http:\/\/youtube.[a-z.]+/i)){
  93. return "youtube_video";
  94. }
  95. if(_9.match(/^http:\/\/images.google.[a-z.]+\/images/i)){
  96. return "google_images";
  97. }else{
  98. if(_9.match(/^http:\/\/images.search.yahoo.[a-z.]+\/search\/images/i)){
  99. return "yahoo_images";
  100. }else{
  101. return "general";
  102. }
  103. }
  104. },loadSites:function(){
  105. try{
  106. var _a=cpvw_jsUtils.getWorkingFolder();
  107. _a.append(this.xmlSiteFile);
  108. var _b;
  109. if(!_a.exists()){
  110. _b="chrome://cooliris/content/CoolirisPreviewSitesTemplate.xml";
  111. }else{
  112. _b="file:///"+_a.path;
  113. }
  114. var _c=new XMLHttpRequest();
  115. _c.open("GET",_b,false);
  116. _c.send(null);
  117. this.siteDom=_c.responseXML;
  118. if(this.siteDom.documentElement.nodeName=="parsererror"){
  119. throw "Error retrieving site list";
  120. }
  121. }
  122. catch(ex){
  123. alert(ex);
  124. }
  125. },editSite:function(_d,_e){
  126. var _f=Components.classes["@mozilla.org/network/standard-url;1"].createInstance(Components.interfaces.nsIURI);
  127. _f.spec=_d;
  128. var _10,_11;
  129. if(_f.host!=null){
  130. _11=escape(_f.host);
  131. _10=this.getResultFromXPath("//SITE-URL[@DOMAIN='"+_11+"']",this.siteDom);
  132. }
  133. if(_10!=null){
  134. if(_10.snapshotLength==0){
  135. var _12=this.siteDom.createElement("SITE-URL");
  136. _12.setAttribute("ENABLED",_e);
  137. _12.setAttribute("TYPE","domain");
  138. _12.setAttribute("DOMAIN",_11);
  139. _12.appendChild(this.siteDom.createCDATASection(_d));
  140. this.siteDom.firstChild.appendChild(_12);
  141. }else{
  142. _10.snapshotItem(0).setAttribute("ENABLED",_e);
  143. }
  144. this.saveSite();
  145. }
  146. },saveSite:function(){
  147. try{
  148. var _13=new XMLSerializer();
  149. var _14=Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
  150. var _15=cpvw_jsUtils.getWorkingFolder();
  151. _15.append(this.xmlSiteFile);
  152. _14.init(_15,2|8|32,436,0);
  153. _13.serializeToStream(this.siteDom,_14,"");
  154. _14.close();
  155. return true;
  156. }
  157. catch(ex){
  158. alert(ex);
  159. return false;
  160. }
  161. },getResultFromXPath:function(_16,_17){
  162. try{
  163. var _18=XPathResult.ORDERED_NODE_SNAPSHOT_TYPE;
  164. var _19=document.createNSResolver(_17.ownerDocument==null?_17.documentElement:_17.ownerDocument.documentElement);
  165. var _1a=_17.evaluate(_16,_17,_19,_18,null);
  166. }
  167. catch(ex){
  168. return null;
  169. }
  170. return _1a;
  171. }};
  172. }
  173.  
  174.